﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Graphics;

namespace PseudoSmash
{
    class playerTypes
    {
         Attack[][] playerAttacks;
         spriteFrame[][] standingLoops;
         spriteFrame[][] runLoops;
         spriteFrame[][] jumpLoops;
         spriteFrame[][][] attackLoops;
         spriteFrame[] landingLoops;
         spriteFrame[][] blockLoops;
         spriteFrame[] hitStunLoops;
         String[] spriteSheets;

         Rectangle nullRect = new Rectangle(0, 0, 0, 0);

        public playerTypes()
        {
            initializeSpriteSheets();
            initializeAttacks();
            initializeStandingLoops();
            initializeRunLoops();
            initializeJumpLoops();
            initializeAttackLoops();
            initializeLandingLoops();
            initializeBlockLoops();
            initializeHitStunLoops();

        }

        public void initializeSpriteSheets()
        {
            spriteSheets = new String[4];
            spriteSheets[0] = "fire";
            spriteSheets[1] = "water";
        }

        public void initializeAttacks()
        {

            playerAttacks = new Attack[4][];
            playerAttacks[0] = new Attack[10];

            playerAttacks[0][0] = new Attack(4,20,18,0,0,15,0,8); //30 frames
            playerAttacks[0][1] = new Attack(8,30,36,0,1,40,0,12); //48 frames
            playerAttacks[0][2] = new Attack(10,30,8,20,2,60,0,15); //63 frames
            playerAttacks[0][3] = new Attack(2,15,5,0,3,15,0,2); //90 frames
            playerAttacks[0][4] = new Attack(4,10,2,-15,4,10,20,6); //21 frames
            playerAttacks[0][5] = new Attack(12, 40,36,-5,5,60,30,14); //60 frames
            playerAttacks[0][6] = new Attack(8,30,2,15,6,60,35,10); //???? frames
            playerAttacks[0][7] = new Attack(20, 20, 5, 0, 7, 40, 0, 0);   //42 frames
            playerAttacks[0][8] = new Attack(0, 0, 0, 0, 8, 21, 0, 5);  //grab
            playerAttacks[0][9] = new Attack(5, 0, 0, 0, 9, 21, 0, 0);   //throw

            playerAttacks[1] = new Attack[10];
        }

        public void initializeStandingLoops()
        {
            standingLoops = new spriteFrame[4][];

            standingLoops[0] = new spriteFrame[6];

            spriteFrame standing1 = new spriteFrame(new Rectangle(1630,415,202,126), new Rectangle(117,2,83,120), nullRect); //standing 1
            spriteFrame standing2 = new spriteFrame(new Rectangle(1281,737,202,126), new Rectangle(119,4,81,119), nullRect); //standing 2
            spriteFrame standing3 = new spriteFrame(new Rectangle(1281,864,202,126), new Rectangle(115,7,85,116), nullRect); //standing 3
            spriteFrame standing4 = new spriteFrame(new Rectangle(1630,542,202,126), new Rectangle(117,7,83,115), nullRect); //standing 4

            standingLoops[0][0] = standing1;
            standingLoops[0][1] = standing2;
            standingLoops[0][2] = standing3;
            standingLoops[0][3] = standing4;
            standingLoops[0][4] = standing3;
            standingLoops[0][5] = standing2;

            standingLoops[1] = new spriteFrame[4];
            standing1 = new spriteFrame(new Rectangle(910, 0, 202, 136), new Rectangle(), nullRect);
            standing2 = new spriteFrame(new Rectangle(910, 137, 202, 136), new Rectangle(), nullRect);
            standing3 = new spriteFrame(new Rectangle(1113,0,202,136), new Rectangle(), nullRect);

            standingLoops[1][0] = standing1;
            standingLoops[1][1] = standing2;
            standingLoops[1][2] = standing3;
            standingLoops[1][3] = standing2;

        
        }

        public void initializeRunLoops()
        {
            runLoops = new spriteFrame[4][];

            runLoops[0] = new spriteFrame[12];
            spriteFrame run1 = new spriteFrame(new Rectangle(752, 0, 260, 140), new Rectangle(156, 20, 77, 113), nullRect); //run 1
            spriteFrame run2 = new spriteFrame(new Rectangle(752, 141, 260, 140), new Rectangle(158, 16, 101, 118), nullRect); //run 2
            spriteFrame run3 = new spriteFrame(new Rectangle(614, 773, 260, 140), new Rectangle(154, 22, 101, 111), nullRect);  //run 3

            runLoops[0][0] = run1;
            runLoops[0][1] = run1;
            runLoops[0][2] = run1;
            runLoops[0][3] = run2;
            runLoops[0][4] = run2;
            runLoops[0][5] = run2;
            runLoops[0][6] = run1;
            runLoops[0][7] = run1;
            runLoops[0][8] = run1;
            runLoops[0][9] = run3;
            runLoops[0][10] = run3;
            runLoops[0][11] = run3;

            //run1 = new spriteFrame(new Rectangle(), new Rectangle(), new Rectangle());

            runLoops[1] = new spriteFrame[6];
            run1 = new spriteFrame(new Rectangle(812,638,202,136), new Rectangle(), nullRect);
            run2 = new spriteFrame(new Rectangle(812,775,202,136), new Rectangle(), nullRect);

            runLoops[1][0] = run1;
            runLoops[1][1] = run1;
            runLoops[1][2] = run1;
            runLoops[1][3] = run2;
            runLoops[1][4] = run2;
            runLoops[1][5] = run2;

        }

        public void initializeJumpLoops()
        {
            jumpLoops = new spriteFrame[4][];

            jumpLoops[0] = new spriteFrame[4];
            
            spriteFrame jump1 = new spriteFrame(new Rectangle(1427, 449, 202, 126), new Rectangle(126,8,71,112), nullRect); //jump 1
            spriteFrame jump2 = new spriteFrame(new Rectangle(1078, 830, 202, 126), new Rectangle(120, 9, 77, 112), nullRect); //jump 2
            spriteFrame jump3 = new spriteFrame(new Rectangle(1702, 288, 202, 126), new Rectangle(120, 7, 77, 111), nullRect); //jump 3

            jumpLoops[0][0] = jump1;
            jumpLoops[0][1] = jump2;
            jumpLoops[0][2] = jump3;
            jumpLoops[0][3] = jump2;

            jumpLoops[1] = new spriteFrame[1];
            jump1 = new spriteFrame(new Rectangle(406,775,202,136), new Rectangle(), nullRect);

            jumpLoops[1][0] = jump1;

        }

        public void initializeAttackLoops()
        {
            ///////////////////FIRE//////////////////////////
            spriteFrame standing4 = new spriteFrame(new Rectangle(1630, 542, 202, 126), new Rectangle(117, 7, 83, 115), nullRect); //standing 4
            
            attackLoops = new spriteFrame[4][][];

            attackLoops[0] = new spriteFrame[10][];

            attackLoops[0][0] = new spriteFrame[10];
            spriteFrame light1 = new spriteFrame(new Rectangle(1013, 0, 252, 126), new Rectangle(116, 8, 95, 116), nullRect);
            spriteFrame light2 = new spriteFrame(new Rectangle(1013, 127, 252, 126), new Rectangle(121, 9, 92, 112), new Rectangle(158, 32, 69, 37));
            spriteFrame light3 = new spriteFrame(new Rectangle(1266, 0, 252, 126), new Rectangle(114, 6, 92, 116), new Rectangle(166, 33, 70, 34));
            spriteFrame light3nhb = new spriteFrame(new Rectangle(1266, 0, 252, 126), new Rectangle(114, 6, 92, 116), nullRect);

            attackLoops[0][0][0] = standing4;
            attackLoops[0][0][1] = standing4; //standing 4
            attackLoops[0][0][2] = light1;
            attackLoops[0][0][3] = light1;
            attackLoops[0][0][4] = light1;
            attackLoops[0][0][5] = light2;
            attackLoops[0][0][6] = light3;
            attackLoops[0][0][7] = light3nhb;
            attackLoops[0][0][8] = light3nhb;
            attackLoops[0][0][9] = light1;

            spriteFrame heavy1 = new spriteFrame(new Rectangle(1206, 610, 202, 126), new Rectangle(115,4,84,119), nullRect); 
            spriteFrame heavy2 = new spriteFrame(new Rectangle(1738, 127, 202, 126), new Rectangle(103,1,95,122), new Rectangle(150,39,48,58));
            spriteFrame heavy3 = new spriteFrame(new Rectangle(351, 392, 330, 126), new Rectangle(108,5,100,119), new Rectangle(200,20,126,75));
            spriteFrame heavy4 = new spriteFrame(new Rectangle(0, 844, 330, 126), new Rectangle(108, 5, 100, 119), new Rectangle(200, 20, 126, 35));
            spriteFrame heavy4nhb = new spriteFrame(new Rectangle(0, 844, 330, 126), new Rectangle(108, 5, 100, 119), nullRect);

            attackLoops[0][1] = new spriteFrame[16];
            attackLoops[0][1][0] = standing4;
            attackLoops[0][1][1] = standing4;
            attackLoops[0][1][2] = heavy1;
            attackLoops[0][1][3] = heavy1;
            attackLoops[0][1][4] = heavy1;
            attackLoops[0][1][5] = heavy1;
            attackLoops[0][1][6] = heavy2;
            attackLoops[0][1][7] = heavy3;
            attackLoops[0][1][8] = heavy3;
            attackLoops[0][1][9] = heavy4;
            attackLoops[0][1][10] = heavy4;
            attackLoops[0][1][11] = heavy4;
            attackLoops[0][1][12] = heavy4nhb;
            attackLoops[0][1][13] = heavy4nhb;
            attackLoops[0][1][14] = heavy1;
            attackLoops[0][1][15] = heavy1;

            attackLoops[0][2] = new spriteFrame[21];
            spriteFrame special11 = new spriteFrame(new Rectangle(351, 519, 330, 126), new Rectangle(110,10,98,112), nullRect); //special 1
            spriteFrame special12 = new spriteFrame(new Rectangle(331, 646, 330, 126), new Rectangle(108,8,95,117), nullRect); //special 2
            spriteFrame special13 = new spriteFrame(new Rectangle(0, 543, 330, 300), new Rectangle(108,150,95,150), new Rectangle(70,25,126,195)); //special 3
            spriteFrame special14 = new spriteFrame(new Rectangle(0, 0, 380, 180), new Rectangle(106,55,114,120), new Rectangle(198,2,144,167)); //special 4
            spriteFrame special15 = new spriteFrame(new Rectangle(0, 181, 380, 180), new Rectangle(106, 55, 114, 120), new Rectangle(220,119,131,52)); //special 5
            spriteFrame special15nhb = new spriteFrame(new Rectangle(0, 181, 380, 180), new Rectangle(106, 55, 114, 120), nullRect); //special 5


            attackLoops[0][2][0] = standing4; 
            attackLoops[0][2][1] = standing4;
            attackLoops[0][2][2] = special11;
            attackLoops[0][2][3] = special11;
            attackLoops[0][2][4] = special11;
            attackLoops[0][2][5] = special11;
            attackLoops[0][2][6] = special12;
            attackLoops[0][2][7] = special12;
            attackLoops[0][2][8] = special12;
            attackLoops[0][2][9] = special13;
            attackLoops[0][2][10] = special13;
            attackLoops[0][2][11] = special13;
            attackLoops[0][2][12] = special14;
            attackLoops[0][2][13] = special14;
            attackLoops[0][2][14] = special14;
            attackLoops[0][2][15] = special15;
            attackLoops[0][2][16] = special15nhb;
            attackLoops[0][2][17] = special15nhb;
            attackLoops[0][2][18] = special15nhb;
            attackLoops[0][2][19] = special11;
            attackLoops[0][2][20] = special11;

            attackLoops[0][3] = new spriteFrame[30];
            spriteFrame special21 = new spriteFrame(new Rectangle(1519, 0,232, 126), new Rectangle(113,5,97,119), nullRect); //special 1
            spriteFrame special22 = new spriteFrame(new Rectangle(682, 519, 282, 126), new Rectangle(116,4,86,119), new Rectangle(196,-5,81,62)); //special 2 
            spriteFrame special23 = new spriteFrame(new Rectangle(662, 646, 282, 126), new Rectangle(116, 4, 86, 119), new Rectangle(196, -5, 81, 62)); //special 3

            attackLoops[0][3][0] = standing4;
            attackLoops[0][3][1] = standing4;
            attackLoops[0][3][2] = special21;
            attackLoops[0][3][3] = special21;
            attackLoops[0][3][4] = special21;
            attackLoops[0][3][5] = special22;
            attackLoops[0][3][6] = special22;
            attackLoops[0][3][7] = special22;
            attackLoops[0][3][8] = special23;
            attackLoops[0][3][9] = special23;
            attackLoops[0][3][10] = special23;
            attackLoops[0][3][11] = special22;
            attackLoops[0][3][12] = special22;
            attackLoops[0][3][13] = special22;
            attackLoops[0][3][14] = special23;
            attackLoops[0][3][15] = special23;
            attackLoops[0][3][16] = special23;
            attackLoops[0][3][17] = special22;
            attackLoops[0][3][18] = special22;
            attackLoops[0][3][19] = special22;
            attackLoops[0][3][20] = special23;
            attackLoops[0][3][21] = special23;
            attackLoops[0][3][22] = special23;
            attackLoops[0][3][23] = special22;
            attackLoops[0][3][24] = special22;
            attackLoops[0][3][25] = special22;
            attackLoops[0][3][26] = special21;
            attackLoops[0][3][27] = special21;
            attackLoops[0][3][28] = special21;
            attackLoops[0][3][29] = special21;

            spriteFrame jump3 = new spriteFrame(new Rectangle(1702, 288, 202, 126), new Rectangle(122, 6, 73, 114), nullRect);
            attackLoops[0][4] = new spriteFrame[7];
            spriteFrame al1 = new spriteFrame(new Rectangle(381, 171, 360, 220), new Rectangle(120,101,112,112), new Rectangle(111,10,240,101));
            spriteFrame al2 = new spriteFrame(new Rectangle(381,0,370,170), new Rectangle(128,48,105,116), new Rectangle(287,28,69,31));
            spriteFrame al2nhb = new spriteFrame(new Rectangle(381, 0, 370, 170), new Rectangle(128, 48, 105, 116),  nullRect);
    
            
            attackLoops[0][4][0] = jump3;
            attackLoops[0][4][1] = al1;
            attackLoops[0][4][2] = al2;
            attackLoops[0][4][3] = al2;
            attackLoops[0][4][4] = al2;
            attackLoops[0][4][5] = al2nhb;
            attackLoops[0][4][6] = al2nhb;

            attackLoops[0][5] = new spriteFrame[20];
            spriteFrame ah1 = new spriteFrame(new Rectangle(875, 830, 202, 126), new Rectangle(113,4,81,117), nullRect);
            spriteFrame ah2 = new spriteFrame(new Rectangle(1752, 0, 216, 126), new Rectangle(108,2,98,117), nullRect);
            spriteFrame ah3 = new spriteFrame(new Rectangle(1485, 288, 216, 126), new Rectangle(108, 2, 98, 117), new Rectangle(176,26,47,53));

            attackLoops[0][5][0] = ah1;
            attackLoops[0][5][1] = ah1;
            attackLoops[0][5][2] = ah1;
            attackLoops[0][5][3] = ah1; 
            attackLoops[0][5][4] = ah2;
            attackLoops[0][5][5] = ah2;
            attackLoops[0][5][6] = ah3;
            attackLoops[0][5][7] = ah3;
            attackLoops[0][5][8] = ah3;
            attackLoops[0][5][9] = ah3;
            attackLoops[0][5][10] = ah3;
            attackLoops[0][5][11] = ah2;
            attackLoops[0][5][12] = ah2;
            attackLoops[0][5][13] = ah2;
            attackLoops[0][5][14] = ah1;
            attackLoops[0][5][15] = ah1;
            attackLoops[0][5][16] = ah1;
            attackLoops[0][5][17] = ah1; 
            attackLoops[0][5][18] = ah1;
            attackLoops[0][5][19] = ah1;

            attackLoops[0][6] = new spriteFrame[100];
            spriteFrame airspec = new spriteFrame(new Rectangle(0, 362, 350, 180), new Rectangle(131,56,72,117), new Rectangle(206,72,130,52));
            attackLoops[0][6][0] = jump3;
            attackLoops[0][6][1] = jump3;

            for (int i = 2; i < 100; i++)
            {
                attackLoops[0][6][i] = airspec;
            }

            attackLoops[0][7] = new spriteFrame[14];
            spriteFrame super1 = new spriteFrame(new Rectangle(1254, 288, 230, 160), new Rectangle(111,35,100,122), nullRect);
            spriteFrame super2 = new spriteFrame(new Rectangle(945, 669, 230, 160), new Rectangle(111, 35, 100, 122), nullRect);
            spriteFrame super3 = new spriteFrame(new Rectangle(1507, 127, 230, 160), new Rectangle(111, 35, 100, 122), nullRect);

            attackLoops[0][7][0] = standing4;
            attackLoops[0][7][1] = standing4;
            attackLoops[0][7][2] = super1;
            attackLoops[0][7][3] = super1;
            attackLoops[0][7][4] = super1;
            attackLoops[0][7][5] = super2;
            attackLoops[0][7][6] = super2;
            attackLoops[0][7][7] = super3;
            attackLoops[0][7][8] = super3;
            attackLoops[0][7][9] = super3;
            attackLoops[0][7][10] = super3;
            attackLoops[0][7][11] = super3;
            attackLoops[0][7][12] = super3;
            attackLoops[0][7][13] = super1;

            attackLoops[0][8] = new spriteFrame[7];
            spriteFrame grab1 = new spriteFrame(new Rectangle(682,392,282,126), new Rectangle(108,1,133,124), new Rectangle(223,23,34,32));
            spriteFrame grab2 = new spriteFrame(new Rectangle(331,773,282,126), new Rectangle(105, 2,107,124), nullRect);

            attackLoops[0][8][0] = standing4;
            attackLoops[0][8][1] = grab1;
            attackLoops[0][8][2] = grab1;
            attackLoops[0][8][3] = grab2;
            attackLoops[0][8][4] = grab2;
            attackLoops[0][8][5] = grab2;
            attackLoops[0][8][6] = grab2;

             attackLoops[0][9] = new spriteFrame[7];
             spriteFrame throw1 = new spriteFrame(new Rectangle(965, 415, 240, 126), new Rectangle(109,1,100,126), nullRect);
             spriteFrame throw2 = new spriteFrame(new Rectangle(965, 542, 240, 126), new Rectangle(109, 1, 100, 126), nullRect);


             attackLoops[0][9][0] = throw1;
             attackLoops[0][9][1] = throw1;
             attackLoops[0][9][2] = throw1;
             attackLoops[0][9][3] = throw2;
             attackLoops[0][9][4] = throw2;
             attackLoops[0][9][5] = throw2;
             attackLoops[0][9][6] = throw2;

            ////////////////////////////////////END FIRE/////////////////////////////////

            ///////////////////////////////////WATER////////////////////////////////////
            spriteFrame standing3 = new spriteFrame(new Rectangle(1113, 0, 202, 136), new Rectangle(), nullRect);
            attackLoops[1] = new spriteFrame[10][];


            attackLoops[1][0] = new spriteFrame[7];
            light1 = new spriteFrame(new Rectangle(812,501,202,136), new Rectangle(), new Rectangle());
            spriteFrame light1nhb = new spriteFrame(new Rectangle(812, 501, 202, 136), new Rectangle(), new Rectangle());
            light2 = new spriteFrame(new Rectangle(609,775,202,136), new Rectangle(), new Rectangle());

            attackLoops[1][0][0] = standing3;
            attackLoops[1][0][1] = light1;
            attackLoops[1][0][2] = light1;
            attackLoops[1][0][3] = light2;
            attackLoops[1][0][4] = light2;
            attackLoops[1][0][5] = light1nhb;
            attackLoops[1][0][6] = light1nhb;

            attackLoops[1][1] = new spriteFrame[12];
            heavy1 = new spriteFrame(new Rectangle(0,471,202,156), new Rectangle(), new Rectangle());
            heavy2 = new spriteFrame(new Rectangle(0,0,300,156), new Rectangle(), new Rectangle());

            attackLoops[1][1][0] = light1nhb;
            attackLoops[1][1][1] = light1nhb;
            attackLoops[1][1][2] = heavy1;
            attackLoops[1][1][3] = heavy1;
            attackLoops[1][1][4] = heavy1;
            attackLoops[1][1][5] = heavy2;
            attackLoops[1][1][6] = heavy2;
            attackLoops[1][1][7] = heavy2;
            attackLoops[1][1][8] = heavy2;
            attackLoops[1][1][9] = light1nhb;
            attackLoops[1][1][10] = light1nhb;
            attackLoops[1][1][11] = light1nhb;

            attackLoops[1][2] = new spriteFrame[14];
            special11 = new spriteFrame(new Rectangle(504, 0, 202, 166), new Rectangle(), new Rectangle());
            special12 = new spriteFrame(new Rectangle(504,167,202,166), new Rectangle(), new Rectangle());
            special13 = new spriteFrame(new Rectangle(707,0,202,166), new Rectangle(), new Rectangle());
            special14 = new spriteFrame(new Rectangle(504,334,202,166), new Rectangle(), new Rectangle());

            attackLoops[1][2][0] = standing3;
            attackLoops[1][2][1] = special11;
            attackLoops[1][2][2] = special12;
            attackLoops[1][2][3] = special12;
            attackLoops[1][2][4] = special13;
            attackLoops[1][2][5] = special13;
            attackLoops[1][2][6] = special14;
            attackLoops[1][2][7] = special14;
            attackLoops[1][2][8] = special14;
            attackLoops[1][2][9] = special14;
            attackLoops[1][2][10] = special14;
            attackLoops[1][2][11] = special12;
            attackLoops[1][2][12] = special12;
            attackLoops[1][2][13] = special11;

            attackLoops[1][3] = new spriteFrame[6];
            special21 = new spriteFrame(new Rectangle(910,274,202,166), new Rectangle(), new Rectangle());
            special22 = new spriteFrame(new Rectangle(1113,137,202,136), new Rectangle(), new Rectangle());

            attackLoops[1][3][0] = special21;
            attackLoops[1][3][1] = special21;
            attackLoops[1][3][2] = special22;
            attackLoops[1][3][3] = special22;
            attackLoops[1][3][4] = special21;
            attackLoops[1][3][5] = special21;

            attackLoops[1][4] = new spriteFrame[7];
            spriteFrame jump1 = new spriteFrame(new Rectangle(406, 775, 202, 136), new Rectangle(), nullRect);
            al1 = new spriteFrame(new Rectangle(406,501,202,136), new Rectangle(), new Rectangle());

            attackLoops[1][4][0] = jump1;
            attackLoops[1][4][1] = jump1;
            attackLoops[1][4][2] = al1;
            attackLoops[1][4][3] = al1;
            attackLoops[1][4][4] = al1;
            attackLoops[1][4][5] = jump1;
            attackLoops[1][4][6] = jump1;

            attackLoops[1][5] = new spriteFrame[10];
            ah1 = new spriteFrame(new Rectangle(203,658,202,136), new Rectangle(), new Rectangle());
            ah2 = new spriteFrame(new Rectangle(301,0,202,166), new Rectangle(), new Rectangle());

            attackLoops[1][5][0] = jump1;
            attackLoops[1][5][1] = ah1;
            attackLoops[1][5][2] = ah2;
            attackLoops[1][5][3] = ah2;
            attackLoops[1][5][4] = ah2;
            attackLoops[1][5][5] = ah2;
            attackLoops[1][5][6] = ah2;
            attackLoops[1][5][7] = ah2;
            attackLoops[1][5][8] = jump1;
            attackLoops[1][5][9] = jump1;

            attackLoops[1][6] = new spriteFrame[12];
            airspec = new spriteFrame(new Rectangle(203,795,202,136), new Rectangle(), new Rectangle());

            for (int i = 0; i <= 11; i++)
                attackLoops[1][6][i] = airspec;

            attackLoops[1][7] = new spriteFrame[16];
            super1 = new spriteFrame(new Rectangle(0,628,202,156), new Rectangle(), new Rectangle());
            super2 = new spriteFrame(new Rectangle(0,785,202,156), new Rectangle(), new Rectangle());
            super3 = new spriteFrame(new Rectangle(203,501,202,156), new Rectangle(), new Rectangle());
            spriteFrame super4 = new spriteFrame(new Rectangle(0,157,300,156), new Rectangle(), new Rectangle());
            spriteFrame super5 = new spriteFrame(new Rectangle(0,314,300,156), new Rectangle(), new Rectangle());

            attackLoops[1][7][0] = light1;
            attackLoops[1][7][1] = light1;
            attackLoops[1][7][2] = heavy1;
            attackLoops[1][7][3] = heavy1;
            attackLoops[1][7][4] = super1;
            attackLoops[1][7][5] = super1;
            attackLoops[1][7][6] = super2;
            attackLoops[1][7][7] = super2;
            attackLoops[1][7][8] = super3;
            attackLoops[1][7][9] = super3;
            attackLoops[1][7][10] = super4;
            attackLoops[1][7][11] = super4;
            attackLoops[1][7][12] = super5;
            attackLoops[1][7][13] = super5;
            attackLoops[1][7][14] = super5;
            attackLoops[1][7][15] = super5;

            attackLoops[1][8] = new spriteFrame[8];
            grab1 = new spriteFrame(new Rectangle(301,167,202,166), new Rectangle(), new Rectangle());
            grab2 = new spriteFrame(new Rectangle(301,334,202,166), new Rectangle(), new Rectangle());

            attackLoops[1][8][0] = standing3;
            attackLoops[1][8][1] = grab1;
            attackLoops[1][8][2] = grab1;
            attackLoops[1][8][3] = grab1;
            attackLoops[1][8][4] = grab2;
            attackLoops[1][8][5] = grab2;
            attackLoops[1][8][6] = grab2;
            attackLoops[1][8][7] = grab2;

            attackLoops[1][9] = new spriteFrame[8];
            throw1 = new spriteFrame(new Rectangle(707,167,202,166), new Rectangle(), new Rectangle());
            throw2 = new spriteFrame(new Rectangle(706,334,202,166), new Rectangle(), new Rectangle());

            attackLoops[1][9][0] = throw1;
            attackLoops[1][9][1] = throw1;
            attackLoops[1][9][2] = throw1;
            attackLoops[1][9][3] = throw1;
            attackLoops[1][9][4] = throw2;
            attackLoops[1][9][5] = throw2;
            attackLoops[1][9][6] = throw2;
            attackLoops[1][9][7] = throw2;





        }

        public void initializeLandingLoops()
        {
            landingLoops = new spriteFrame[4];
            landingLoops[0] = new spriteFrame(new Rectangle(1427, 576, 202, 126), new Rectangle(127,16,73,103), nullRect);
            landingLoops[1] = new spriteFrame(new Rectangle(609, 638, 202, 136), new Rectangle(), nullRect);
        }

        public void initializeBlockLoops()
        {
            blockLoops = new spriteFrame[4][];

            blockLoops[0] = new spriteFrame[2];
            blockLoops[0][0] = new spriteFrame(new Rectangle(1013, 254, 240, 160), new Rectangle(93,10,130,145), nullRect); //block 1
            blockLoops[0][1] = new spriteFrame(new Rectangle(1266, 127, 240, 160), new Rectangle(93,15,131,142), nullRect); //block 2

            blockLoops[1] = new spriteFrame[1];
            blockLoops[1][0] = new spriteFrame(new Rectangle(406, 638, 202, 136), new Rectangle(), nullRect);
        }

        public void initializeHitStunLoops()
        {
            hitStunLoops = new spriteFrame[4];

            hitStunLoops[0] = new spriteFrame(new Rectangle(1206, 449, 220, 160), new Rectangle(106,26,95,133), nullRect);
            hitStunLoops[1] = new spriteFrame(new Rectangle(609, 501, 202, 136), new Rectangle(), nullRect);
        }

        public String getSpriteSheet(int playerType)
        {
            return spriteSheets[playerType];
        }

        public Attack[] getAttackSet(int playerType)
        {
            return playerAttacks[playerType];
        }


        public spriteFrame[] getStandingLoop(int playerType)
        {
            return standingLoops[playerType];
        }


        public spriteFrame[] getRunLoop(int playerType)
        {
            return runLoops[playerType];
        }


        public spriteFrame[][] getAttackLoops(int playerType)
        {
            return attackLoops[playerType];
        }

        public spriteFrame getLandingLoop(int playerType)
        {
            return landingLoops[playerType];
        }

        public spriteFrame[] getBlockLoop(int playerType)
        {
            return blockLoops[playerType];
        }

        public spriteFrame[] getJumpLoop(int playerType)
        {
            return jumpLoops[playerType];
        }

        public spriteFrame getHitStunLoop(int playerType)
        {
            return hitStunLoops[playerType];
        }

        

  

        

    }
}
